#ifndef MENU_DESLIZANTE_H_
#define MENU_DESLIZANTE_H_

#include "SDL/SDL.h"
#include "SDL/SDL_ttf.h"
#include "../Boton/Boton.h"
#include "../../Utils/Image.h"
#include <vector>
#include <sstream>
#include <string>

using namespace std;

class InfoImagen {
	
	public:
		string archivo;
		int cuadros;
		SDL_Surface* imagen;
};

class InfoPersonaje {
	
	public:
		int id;
		string nombre;
		int ancho;
		int alto;
		int velocidad;
		int salto;
		int margenScroll;
		vector< InfoImagen* > animaciones;
		SDL_Rect* clip;
};
	
class MenuDeslizante
{
    private:
	vector<string> v_elementos;
	int x;
	int y;
    SDL_Rect camara;
    unsigned int seleccionado;
    unsigned int paso;
    Boton* arriba;
    Boton* abajo;
    vector<InfoPersonaje*> v_personajes;
    int cuadro;
    int idImagen;

    TTF_Font* font14;

    public:
    vector<string> getElementos();
    int getX();
    int getY();
    int getAncho();
    int getAlto();
    Boton* getArriba();
    Boton* getAbajo();
    unsigned int getPaso();
    SDL_Rect getCamara();
    SDL_Rect* getpCamara();
    TTF_Font* getFont14();
    unsigned int getSeleccionado();
    vector<InfoPersonaje*> getPersonajes();
    int getCuadro();
    int getIdImagen();
    void setPaso(unsigned int p);
    void setSeleccionado(unsigned int selecc);
    void setElementos(vector<string> vect);
    void setPersonajes(vector<InfoPersonaje*> vect);
    void setCuadro(int num);
    void setIdImagen(int num);
    MenuDeslizante(vector <string> vector, int posx, int posy, int w, int h, unsigned int p );
    void dibujarDeslizante(SDL_Surface* superficie, unsigned int solapa, unsigned int modo);
    void handleDeslizante(SDL_Event event, int s_x, int s_y, unsigned int* estado);
};

#endif /* MENU_DESLIZANTE_H_ */

